package com.ruoyi.asset.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 固定资产信息对象 fixed_assets
 * 
 * @author ruoyi
 * @date 2023-04-06
 */
@Data
public class FixedAssets extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    /** 资产编号 */
    @TableId
    @Excel(name = "资产编号")
    
    private String assetNumber;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String assetName;

    /** 资产类型 */
    @Excel(name = "资产类型",readConverterExp = "0=IT信息化")
    private String assetType;

    /** 资产品牌 */
    @Excel(name = "资产品牌")
    private String assetBrand;

    /** 资产型号 */
    @Excel(name = "资产型号")
    private String assetModel;

    /** 资产购置日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "资产购置日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 资产购置价值 */
    @Excel(name = "资产购置价值")
    private BigDecimal purchaseValue;

    /** 质保日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "质保日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warrantyDate;

    /** 资产位置 */
    @Excel(name = "资产位置")
    private String location;

    /** IP地址 */
    @Excel(name = "IP地址")
    private String ipAddress;

    /** SN号 */
    @Excel(name = "SN号")
    private String snNumber;

    /** MAC地址 */
    @Excel(name = "MAC地址")
    private String macAddress;

    /** OA编号 */
    @Excel(name = "OA编号")
    private String oaNumber;

    /** 使用人 */
    @Excel(name = "使用人")
    private String userName;

    /** 工号 */
    @Excel(name = "工号")
    private String userId;

    /** 使用部门 */
    @Excel(name = "使用部门")
    private String department;

    /** 资产归属 */
    @Excel(name = "资产归属")
    private String assetOwner;

    /** 资产状态 */
    @Excel(name = "资产状态",readConverterExp = "0=领用,1=维修,2=待报废,3=报废,4=借用,5=闲置")
    private String assetStatus;

    /** 分类 */
    @Excel(name = "分类")
    private String assetCategory;

    /** 属性 */
    @Excel(name = "属性")
    private String assetAttribute;

    @Excel(name = "供应商")
    private String supplier;

    /** 报表查询日期 */
    @Excel(name = "报表查询日期")
    @TableField(exist = false)
    private String queryDate;

    /**  总数量 */
    @Excel(name = "资产数量")
    @TableField(exist = false)
    private String count;


    public void setAssetNumber(String assetNumber) 
    {
        this.assetNumber = assetNumber;
    }

    public String getAssetNumber() 
    {
        return assetNumber;
    }
    public void setAssetName(String assetName) 
    {
        this.assetName = assetName;
    }

    public String getAssetName() 
    {
        return assetName;
    }
    public void setAssetType(String assetType) 
    {
        this.assetType = assetType;
    }

    public String getAssetType() 
    {
        return assetType;
    }
    public void setAssetBrand(String assetBrand) 
    {
        this.assetBrand = assetBrand;
    }

    public String getAssetBrand() 
    {
        return assetBrand;
    }
    public void setAssetModel(String assetModel) 
    {
        this.assetModel = assetModel;
    }

    public String getAssetModel() 
    {
        return assetModel;
    }
    public void setPurchaseDate(Date purchaseDate) 
    {
        this.purchaseDate = purchaseDate;
    }

    public Date getPurchaseDate() 
    {
        return purchaseDate;
    }
    public void setPurchaseValue(BigDecimal purchaseValue) 
    {
        this.purchaseValue = purchaseValue;
    }

    public BigDecimal getPurchaseValue() 
    {
        return purchaseValue;
    }
    public void setWarrantyDate(Date warrantyDate) 
    {
        this.warrantyDate = warrantyDate;
    }

    public Date getWarrantyDate() 
    {
        return warrantyDate;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setIpAddress(String ipAddress) 
    {
        this.ipAddress = ipAddress;
    }

    public String getIpAddress() 
    {
        return ipAddress;
    }
    public void setSnNumber(String snNumber) 
    {
        this.snNumber = snNumber;
    }

    public String getSnNumber() 
    {
        return snNumber;
    }
    public void setMacAddress(String macAddress) 
    {
        this.macAddress = macAddress;
    }

    public String getMacAddress() 
    {
        return macAddress;
    }
    public void setOaNumber(String oaNumber) 
    {
        this.oaNumber = oaNumber;
    }

    public String getOaNumber() 
    {
        return oaNumber;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }
    public void setAssetOwner(String assetOwner) 
    {
        this.assetOwner = assetOwner;
    }

    public String getAssetOwner() 
    {
        return assetOwner;
    }
    public void setAssetStatus(String assetStatus) 
    {
        this.assetStatus = assetStatus;
    }

    public String getAssetStatus() 
    {
        return assetStatus;
    }
    public void setAssetCategory(String assetCategory) 
    {
        this.assetCategory = assetCategory;
    }

    public String getAssetCategory() 
    {
        return assetCategory;
    }
    public void setAssetAttribute(String assetAttribute) 
    {
        this.assetAttribute = assetAttribute;
    }

    public String getAssetAttribute() 
    {
        return assetAttribute;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("assetNumber", getAssetNumber())
            .append("assetName", getAssetName())
            .append("assetType", getAssetType())
            .append("assetBrand", getAssetBrand())
            .append("assetModel", getAssetModel())
            .append("purchaseDate", getPurchaseDate())
            .append("purchaseValue", getPurchaseValue())
            .append("warrantyDate", getWarrantyDate())
            .append("location", getLocation())
            .append("ipAddress", getIpAddress())
            .append("snNumber", getSnNumber())
            .append("macAddress", getMacAddress())
            .append("oaNumber", getOaNumber())
            .append("userName", getUserName())
            .append("userId", getUserId())
            .append("department", getDepartment())
            .append("assetOwner", getAssetOwner())
            .append("assetStatus", getAssetStatus())
            .append("assetCategory", getAssetCategory())
            .append("assetAttribute", getAssetAttribute())
            .append("remark", getRemark())
            .toString();
    }
}
